package com.ray.mode.proxy;

public class HostMain {

    /**
     * 代理模式
     * 抽象角色：一般适用接口或抽象类(Rent租房）
     * 真实角色：被代理的角色（房东）
     * 代理角色： 代理真实的角色，一般会有更多的附属方法（Proxy中介）
     * 客户角色： 访问代理对象的人（HostMain访问）
     *
     *
     * 缺点：一个真实角色就需要一个代理角色，代码翻倍，解决方法：动态代理
     */
    public static void main(String[] args) {
        Host host = new Host();
        Proxy proxy = new Proxy(host);
        proxy.rent();
        proxy.seeHouse();
    }
}
